package com.ldu.houserent.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ldu.houserent.common.vo.HouseSearchVO;
import com.ldu.houserent.entity.House;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/*
    房屋数据访问层
        Mybatis-Plus完成了BaseMapper接口提供的方法的SQL语句的生成操作，因此对于已经提供的操作，不需要单独写xml文件。
 */
@Mapper
public interface HouseMapper extends BaseMapper<House> {      //BaseMapper的泛型是House
    /*
        根据出租类型获取最新的n条房屋信息
            像这种简单的SQL，可以直接用注解的方式在方法中写
         查询最新整租和合租
     */
    List<House> findTopList(@Param("rentType")String rentType,@Param("limit")Integer limit);

    /*
        搜索房屋  条件查询和模糊查询
            一个参数时可以不写@Param；两个或以上时，要写@Param
            像这种复杂的SQL，最好写在xml中，HouseMapper.xml
     */
    List<House> searchHouse(@Param("houseSearchVO")HouseSearchVO houseSearchVO, @Param("page")Page page);



}
